home *** CD-ROM | disk | FTP | other *** search
-
-
-
- DIFF User Commands DIFF
-
-
-
- NNAAMMEE
- diff - differential file and directory comparator
-
- SSYYNNOOPPSSIISS
- ddiiffff [ --ll ] [ --rr ] [ --ss ] [ --cceeffhhnn ] [ --bbiiwwtt ] dir1 dir2
- ddiiffff [ --cceeffhhnn ]] [[ --bbiiwwtt ] file1 file2
- ddiiffff [ --DD_s_t_r_i_n_g ] [ --bbiiww ] file1 file2
-
- DDEESSCCRRIIPPTTIIOONN
- If both arguments are directories, _d_i_f_f sorts the contents
- of the directories by name, and then runs the regular file
- _d_i_f_f algorithm (described below) on text files which are
- different. Binary files which differ and files which appear
- in only one directory are listed. Options when comparing
- directories are:
-
- --ll long output format; each text file _d_i_f_f is piped
- through _p_r(1) to paginate it, other differences are
- remembered and summarized after all text file differ-
- ences are reported.
-
- --rr causes application of _d_i_f_f recursively to common sub-
- directories encountered.
-
- --ss causes _d_i_f_f to report files which are the same, which
- are otherwise not mentioned.
-
- --SSnnaammee
- starts a directory _d_i_f_f in the middle beginning with
- file _n_a_m_e.
-
- When run on regular files, and when comparing text files
- which differ during directory comparison, _d_i_f_f tells what
- lines must be changed in the files to bring them into agree-
- ment. Except in rare circumstances, _d_i_f_f finds a smallest
- sufficient set of file differences. If neither _f_i_l_e_1 nor
- _f_i_l_e_2 is a directory, then either may be given as `-', in
- which case the standard input is used. If _f_i_l_e_1 is a direc-
- tory, then a file in that directory whose file-name is the
- same as the file-name of _f_i_l_e_2 is used (and vice versa).
-
- There are several options for output format; the default
- output format contains lines of these forms:
-
- _n_1 a _n_3,_n_4
- _n_1,_n_2 d _n_3
- _n_1,_n_2 c _n_3,_n_4
-
- These lines resemble _e_d commands to convert _f_i_l_e_1 into
- _f_i_l_e_2. The numbers after the letters pertain to _f_i_l_e_2. In
- fact, by exchanging `a' for `d' and reading backward one may
- ascertain equally how to convert _f_i_l_e_2 into _f_i_l_e_1. As in
-
-
-
- Sprite v1.0 May 19, 1986 1
-
-
-
-
-
-
- DIFF User Commands DIFF
-
-
-
- _e_d, identical pairs where _n_1 = _n_2 or _n_3 = _n_4 are abbreviated
- as a single number.
-
- Following each of these lines come all the lines that are
- affected in the first file flagged by `<', then all the
- lines that are affected in the second file flagged by `>'.
-
- Except for --bb,, --ww,, --ii or --tt which may be given with any of
- the others, the following options are mutually exclusive:
-
- --ee produces a script of _a, _c and _d commands for the
- editor _e_d, which will recreate _f_i_l_e_2 from _f_i_l_e_1.
- In connection with --ee, the following shell program
- may help maintain multiple versions of a file.
- Only an ancestral file ($1) and a chain of
- version-to-version _e_d scripts ($2,$3,...) made by
- _d_i_f_f need be on hand. A `latest version' appears
- on the standard output.
-
- (shift; cat $*; echo '1,$p') | ed - $1
-
- Extra commands are added to the output when compar-
- ing directories with --ee,, so that the result is a
- _s_h(1) script for converting text files which are
- common to the two directories from their state in
- _d_i_r_1 to their state in _d_i_r_2.
-
- --ff produces a script similar to that of --ee,, not useful
- with _e_d, and in the opposite order.
-
- --nn produces a script similar to that of --ee,, but in the
- opposite order and with a count of changed lines on
- each insert or delete command. This is the form
- used by _r_c_s_d_i_f_f(1).
-
- --cc produces a diff with lines of context. The default
- is to present 3 lines of context and may be
- changed, e.g to 10, by --cc1100. With --cc the output
- format is modified slightly: the output beginning
- with identification of the files involved and their
- creation dates and then each change is separated by
- a line with a dozen *'s. The lines removed from
- _f_i_l_e_1 are marked with `- '; those added to _f_i_l_e_2
- are marked `+ '. Lines which are changed from one
- file to the other are marked in both files with
- with `! '.
-
- Changes which lie within <context> lines of each
- other are grouped together on output. (This is a
- change from the previous ``diff -c'' but the
- resulting output is usually much easier to inter-
- pret.)
-
-
-
- Sprite v1.0 May 19, 1986 2
-
-
-
-
-
-
- DIFF User Commands DIFF
-
-
-
- --hh does a fast, half-hearted job. It works only when
- changed stretches are short and well separated, but
- does work on files of unlimited length.
-
- --DDssttrriinngg causes _d_i_f_f to create a merged version of _f_i_l_e_1 and
- _f_i_l_e_2 on the standard output, with C preprocessor
- controls included so that a compilation of the
- result without defining _s_t_r_i_n_g is equivalent to
- compiling _f_i_l_e_1, while defining _s_t_r_i_n_g will yield
- _f_i_l_e_2.
-
- --bb causes trailing blanks (spaces and tabs) to be
- ignored, and other strings of blanks to compare
- equal.
-
- --ww is similar to --bb but causes whitespace (blanks and
- tabs) to be totally ignored. E.g.,
- ``if ( a == b )'' will compare equal to
- ``if(a==b)''.
-
- --ii ignores the case of letters. E.g., ``A'' will com-
- pare equal to ``a''.
-
- --tt will expand tabs in output lines. Normal or --cc
- output adds character(s) to the front of each line
- which may screw up the indentation of the original
- source lines and make the output listing difficult
- to interpret. This option will preserve the origi-
- nal source's indentation.
-
- FFIILLEESS
- /tmp/d?????
- /usr/lib/diffh for --hh
- /bin/diff for directory diffs
- /bin/pr
-
- SSEEEE AALLSSOO
- cmp(1), cc(1), comm(1), ed(1), diff3(1)
-
- DDIIAAGGNNOOSSTTIICCSS
- Exit status is 0 for no differences, 1 for some, 2 for trou-
- ble.
-
- BBUUGGSS
- Editing scripts produced under the --ee or --ff option are naive
- about creating lines consisting of a single `..'.
-
- When comparing directories with the --bb,, --ww or --ii options
- specified, _d_i_f_f first compares the files ala _c_m_p, and then
- decides to run the _d_i_f_f algorithm if they are not equal.
- This may cause a small amount of spurious output if the
- files then turn out to be identical because the only
-
-
-
- Sprite v1.0 May 19, 1986 3
-
-
-
-
-
-
- DIFF User Commands DIFF
-
-
-
- differences are insignificant blank string or case differ-
- ences.
-
- The GNU _d_i_f_f is not completely compatible with the BSD _d_i_f_f.
- In particular, when recursively comparing directories, the
- BSD _d_i_f_f names all common subdirectories, and the GNU _d_i_f_f
- does not. It has been argued that this is a feature of the
- GNU _d_i_f_f.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sprite v1.0 May 19, 1986 4
-
-
-
-